//arr.concat() 方法在 JavaScript 中用于合并两个或多个数组  这是浅拷贝
const arr = [1,2,3]

//无参数返回数组浅拷贝 值类型
const result1 = arr.concat()
result1[0] = 6
console.log(result1); // [6,2,3]
console.log(arr); // [1,2,3]

//合并两个数组
const arr1 = [4,5,6]
const result2 = arr.concat(arr1)
console.log(result2); // [1,2,3,4,5,6]

//合并多个数组
const arr2 = [7,8,9]
const result3 = arr.concat(arr1,arr2)
console.log(result3); //[1,2,3,4,5,6,7,8,9]

//数组嵌套保留 引用类型:数组跟对象，拷贝地址
const arr4 = [10,[1,2,3]]
const result4 = arr.concat(arr4)
arr4[1].push(4)
console.log(result4); // [ 1, 2, 3, 10, [ 1, 2, 3, 4 ] ]

// 合并值与数组 如果参数本身是一个数组，那么 concat() 会将这个数组的元素“展开”并添加到结果数组中
const letters = ["a", "b", "c"]
const result5 = letters.concat(1, [2, 3])
console.log(result5)  // ['a', 'b', 'c', 1, 2, 3]

